ctf pwn题目的部署

使用socat部署

安装

1
apt install socat

模板:socat tcp-listen:port,fork exec:./程序名,reuseaddr

实例:socat tcp-listen:10001,fork exec:./pwn1,reuseaddr

缺点:需要控制好权限;存在各种风险

使用pwn_deploy部署

https://github.com/giantbranch/pwn_deploy

项目基于docker和xinetd
项目主要根据bin目录的文件,动态生成flag,xinetd配置文件,Dockerfile和docker-compose.yml
程序都是放在家目录,通过权限控制不能进入别人的家目录,同时不能修改或删除二进制程序和flag文件

使用

  1. 将所有pwn题目放入bin目录(注意文件名不要带特殊字符)
  2. python initialize.py
  3. docker-compose up –build -d

这个部署方式并不太安全,只是基于权限控制

请使用: https://github.com/giantbranch/pwn_deploy_chroot

使用pwn_deploy_chroot部署

https://github.com/giantbranch/pwn_deploy_chroot

项目基于docker,xinetd和chroot,更加安全

相对上面的pwn_deploy,使用chroot更加安全

而且用自己写的catflag程序作为/bin/sh程序,这就将安全性提升一步了

使用步骤也是3步:

  1. 将所有pwn题目放入bin目录(注意文件名不要带特殊字符)
  2. python initialize.py
  3. docker-compose up –build -d
打赏专区